using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("GeneralStoreHeroesSelectorButton")]
	public class GeneralStoreHeroesSelectorButton : PegUIElement
	{
		public Actor m_heroActor => method_3<Actor>("m_heroActor");

		public UberText m_heroName => method_3<UberText>("m_heroName");

		public HighlightState m_highlight => method_3<HighlightState>("m_highlight");

		public string m_selectSound => method_4("m_selectSound");

		public string m_unselectSound => method_4("m_unselectSound");

		public string m_mouseOverSound => method_4("m_mouseOverSound");

		public string m_heroId => method_4("m_heroId");

		public int m_sortOrder => method_2<int>("m_sortOrder");

		public bool m_selected => method_2<bool>("m_selected");

		public bool m_purchased => method_2<bool>("m_purchased");

		public EntityDef m_currentEntityDef => method_3<EntityDef>("m_currentEntityDef");

		public CardDef m_currentCardDef => method_3<CardDef>("m_currentCardDef");

		public CardHeroDbfRecord m_cardHero => method_3<CardHeroDbfRecord>("m_cardHero");

		public GeneralStoreHeroesSelectorButton(IntPtr address, string className)
			: base(address, className)
		{
		}

		public GeneralStoreHeroesSelectorButton(IntPtr address)
			: this(address, "GeneralStoreHeroesSelectorButton")
		{
		}

		public new void Awake()
		{
			method_8("Awake");
		}

		public int GetHeroDbId()
		{
			return method_11<int>("GetHeroDbId", Array.Empty<object>());
		}

		public string GetHeroCardMiniGuid()
		{
			return method_13("GetHeroCardMiniGuid");
		}

		public int GetHeroCardDbId()
		{
			return method_11<int>("GetHeroCardDbId", Array.Empty<object>());
		}

		public void SetCardHeroDbfRecord(CardHeroDbfRecord cardHero)
		{
			method_8("SetCardHeroDbfRecord", cardHero);
		}

		public CardHeroDbfRecord GetCardHeroDbfRecord()
		{
			return method_14<CardHeroDbfRecord>("GetCardHeroDbfRecord", Array.Empty<object>());
		}

		public void SetSortOrder(int sortOrder)
		{
			method_8("SetSortOrder", sortOrder);
		}

		public int GetSortOrder()
		{
			return method_11<int>("GetSortOrder", Array.Empty<object>());
		}

		public void SetPurchased(bool purchased)
		{
			method_8("SetPurchased", purchased);
		}

		public bool GetPurchased()
		{
			return method_11<bool>("GetPurchased", Array.Empty<object>());
		}

		public void UpdatePortrait(GeneralStoreHeroesSelectorButton rhs)
		{
			method_9("UpdatePortrait", new Class276.Enum20[1] { Class276.Enum20.Class }, rhs);
		}

		public void UpdatePortrait(EntityDef entityDef, CardDef cardDef)
		{
			method_9("UpdatePortrait", new Class276.Enum20[2]
			{
				Class276.Enum20.Class,
				Class276.Enum20.Class
			}, entityDef, cardDef);
		}

		public void UpdateName(GeneralStoreHeroesSelectorButton rhs)
		{
			method_9("UpdateName", new Class276.Enum20[1] { Class276.Enum20.Class }, rhs);
		}

		public void UpdateName(string name)
		{
			method_9("UpdateName", new Class276.Enum20[1] { Class276.Enum20.String }, name);
		}

		public void Select()
		{
			method_8("Select");
		}

		public void Unselect()
		{
			method_8("Unselect");
		}

		public bool IsAvailable()
		{
			return method_11<bool>("IsAvailable", Array.Empty<object>());
		}

		public new void OnOver(InteractionState oldState)
		{
			method_8("OnOver", oldState);
		}

		public new void OnOut(InteractionState oldState)
		{
			method_8("OnOut", oldState);
		}

		public new void OnRelease()
		{
			method_8("OnRelease");
		}

		public new void OnPress()
		{
			method_8("OnPress");
		}
	}
}
